Search results for "Resource-constrained device"
showing 8 items of 8 documents
Symbolic Programming of Distributed Cyber-Physical Systems
Cyber-Physical Systems (CPSs) tightly integrate physical world phenomena and cyber aspects of computational units. The composition of physical, computational and communication systems demands different levels and types of abstraction as well as novel programming methodologies allowing for homogeneous programming, knowledge representation and exchange on heterogeneous devices. Current modeling approaches, frameworks and architectures result fairly inadequate to the task, especially when resource-constrained devices are involved. This work proposes symbolic computation as an effective solution to program resource constrained CPS devices with code maintaining strict ties to high-level specific…
Interoperable real-time symbolic programming for smart environments
2019
Smart environments demand novel paradigms offering easy configuration, programming and deployment of pervasive applications. To this purpose, different solutions have been proposed ranging from visual paradigms based on mashups to formal languages. However, most of the paradigms proposed in the literature require further external tools to turn application description code into an executable program before the deployment on target devices. Source code generation, runtime upgrades and recovery, and online debugging and inspection are often cumbersome in these programming environments. In this work we describe a methodology for real-time and on-line programming in smart environments that is co…
Testing wearable IoT applications through sensor virtualization
2020
The development of distributed IoT applications requires the integration of data provided by different sensors embedded in multiple devices. As an example, an application for health monitoring in an assisted living scenario may include several wearable and fixed nodes each carrying different sensors and running specific code. Verifying that the application is properly working according to the specifications requires assessing that the code of each node behaves consistently in all the possible use cases. Tests involving sensor data may be difficult or costly to replicate realistically and this could also slow down the development of the application in its early stages. In this paper we intro…
Verification of Symbolic Distributed Protocols for Networked Embedded Devices
2020
The availability of versatile and interconnected embedded devices makes it possible to build low-cost networks with a large number of nodes running even complex applications and protocols in a distributed manner. Common tools used for modeling and verification, such as simulators, present some limitations as application correctness is checked off-board and only focuses on source code. Execution in the real network is thus excluded from the early stages of design and verification. In this paper, a system for modeling and verification of symbolic distributed protocols running on embedded devices is introduced. The underlying methodology is rooted in a symbolic programming paradigm that makes …
On-board Energy Consumption Assessment for Symbolic Execution Models on Embedded Devices
2020
Internet of Things (IoT) applications operate in several domains while requiring seamless integration among heterogeneous objects. Regardless of the specific platform and context, IoT applications demand high energy efficiency. Adopting resource-constrained embedded devices for IoT applications means ensuring low power consumption, low maintenance costs and possibly longer battery life. Meeting these requirements is particularly arduous as programmers are not able to monitor the energy consumption of their own software during development or when applications are finally deployed. In this paper, we discuss on-board real-time energy evaluation of both hardware and software during the developm…
A Lightweight Network Discovery Algorithm for Resource-constrained IoT Devices
2019
Although quite simple, existing protocols for the IoT suffer from the inflexibility of centralized infrastructures and require several configuration stages. The implementation of these protocols is often prohibitive on resource-constrained devices. In this work, we propose a distributed lightweight implementation of network discovery for simple IoT devices. Our approach is based on the exchange of symbolic executable code among nodes. Based on this abstraction, we propose an algorithm that makes even IoT resource-constrained nodes able to construct the network topology graph incrementally and without any a priori information about device positioning and presence. The minimal set of executab…
DC4CD
2017
In this article, we present Distributed Computing for Constrained Devices (DC4CD), a novel software architecture that supports symbolic distributed computing on wireless sensor networks. DC4CD integrates the functionalities of a high-level symbolic interpreter, a compiler, and an operating system, and includes networking abstractions to exchange high-level symbolic code among peer devices. Contrarily to other architectures proposed in the literature, DC4CD allows for changes at runtime, even on deployed nodes of both application and system code. Experimental results show that DC4CD is more efficient in terms of memory usage than existing architectures, with which it also compares well in te…
WSN Design and Verification Using On-Board Executable Specifications
2019
The gap between informal functional specifications and the resulting implementation in the chosen programming language is notably a source of errors in embedded systems design. In this paper, we discuss a methodology and a software platform aimed at coping with this issue in programming resource-constrained wireless sensor network nodes (WSNs). Whereas the typical development model for the WSNs is based on cross compilation, the proposed approach supports high-level symbolic coding of abstract models and distributed applications, as well as their test and their execution, directly on the target hardware. As a working example, we discuss the application of our methodology to specify the func…